Various forms of storage systems are used today. These forms include direct attached storage (DAS) network attached storage (NAS) systems, storage area networks (SANs), and others. Network storage systems are commonly used for a variety of purposes, such as providing multiple clients with access to shared data, backing up data and others.
A storage system typically includes at least a computing system executing a storage operating system for storing and retrieving data on behalf of one or more client computing systems (may just be referred to as “client” or “clients”). The storage operating system stores and manages shared data containers in a set of mass storage devices.
Quality of Service (QOS) is a metric used in a storage environment to provide certain throughput for processing input/output (I/O) requests for reading or writing data, a response time goal within, which I/O requests are processed and a number of I/O requests processed within a given time (for example, in a second (IOPS). Throughput means amount of data transferred within a given time, for example, in megabytes per second (Mb/s).
To process an I/O request to read and/or write data, various resources are used within a storage system, for example, processors at storage system nodes, storage devices and others. The different resources perform various functions in processing the I/O requests and have finite capacity to process requests. As storage systems continue to expand in size, complexity and operating speeds, it is desirable to efficiently monitor and manage resource usage and know what capacity of a resource may be available at any given time. Continuous efforts are being made to better manage resources of networked storage environments.